Graphical user interfaces (GUIs) provide a picturesque display of computer output and controls for a user to direct various operations of software. GUIs allow for endless possibilities of creating a user-friendly environment in which to view and interact with computer systems.
It is usually important for a user interface to have a look and feel that is comfortable for the user. For many application programs, e.g. word processors, database programs, Web browsers, development tools, editing programs, communication programs, etc., it is desirable for the user interface to be designed with a control panel that it provides for ease of use. For example, in editing applications simple GUIs are especially significant.
Some editing applications involve the manipulation of time based streams of information by novice users to create presentations. These time-based streams of information may be in the form of full motion images, e.g. video and movies; audio, e.g. music, sound effects, and voice/narration; motion graphics, e.g. animation; still images, e.g. text, pictures; and combinations thereof. The information is usually comprised of a stream of individual units, e.g. frames or blocks. Frequently, this information is in a digital format and resides on any of a number of conventional electronic mediums.
Some prior editing systems include Studio DV from Pinnacle Systems Inc. of Santa Clara, Calif.; Avid Cinema® from Avid Technology, Inc. of Tewksbury, Mass.; Adobe Premier® from Adobe of San Jose, Calif.; Dazzle* Digital Video Creator™ from Dazzle Multimedia of Fremont, Calif.; and DVgate™ from Sony Corporation of Tokyo, Japan.
Digital editing is typically performed in an editing processing system and involves random retrieval of information from storage, communication of the information, e.g. display on a monitor, and then manipulation of the information to produce the desired presentation. The presentation often appears as a seamless flow of the edited information.
Traditionally, editing of multimedia to produce presentations involved complex techniques performed by trained professionals. However, recently novice users have become interested in making presentations, as well. The processing of multimedia to produce sophisticated home movies, web sites, business presentations, marketing demonstrations, amateur movies, etc. has been gaining in popularity.
Given the currently diverse level of skills among authors of presentations, it is desirable to provide processing systems that are easy and convenient to operate. Such systems should have simple user interface displays from which a user may work.
In general, a user may direct software operations by employing tools, referred to as “control elements,” e.g. buttons, menus, windows, text, etc, that are provided by a computer system. Typically, at least some of the control elements are displayed on the user interface. Control elements may be active in instructing the software to execute operations, such as output information, or may be passive to simply display useful information on the screen, such as windows showing stored data. Several attributes of control elements presented on the display, such as the control elements' presentation, behavior, function, etc., influence the overall convenience of the GUI.
Applications for the GUI often vary among users and in certain uses control elements may be more important than other controls. For example, different GUI's may be used to generate presentations for business talks, home movies, academic lectures, etc. However, most prior systems have fixed user interfaces that waste precious screen real estate on control elements that are less important for a particular application. It would be useful, then, for a processing system to provide a user interface that may be redesigned to emphasize only the desired control elements and to show them in a preferred manner. Designers of the GUI should be permitted to easily change the characteristics of the control elements.
Previously, GUI's have been created by first drawing the look of an image, e.g. the control element, with a graphic file and then converting the drawn picture into an intermediary format containing details regarding the image. The intermediate format is used to add various aspects of a control element, such its function, behavior, location, and/or the like. Such an intermediate format is any resource or file that is complementary to the application or built into the application that is required to fully describe a control element on a GUI. The intermediate format is picked up by an application program and depicted on a display. Since the user interface is a representation of the intermediary format, the user interface may not be altered through the graphic file without reconverting the entire file to the intermediary format. Thus, a control element may not be altered without recompiling the complete GUI.
Whenever any component of the GUI is changed, a designer of the user interface must patiently wait while for the entire interface to be reconverted. As a result, much time is wasted while the designer remains idle. The lack of immediate feedback is inconvenient, especially when multiple attempts are made at editing before the desired modifications are achieved. However, with these previous processing systems, the designer may not inspect even the most minor changes to determine if the edits are acceptable until after the intermediate format step is complete and then accessed by the application. By comparison, it would be beneficial for a system to permit the designer to immediately view any alterations made to the interface. Quick feedback of revisions speeds up the editing of the GUI and simplifies revisions.
Another drawback with these previous methods is that some of the details of the GUI may become lost in the conversion of the graphics drawing into the intermediary format. By contrast, elimination of the intermediate format step reduces the risk of lost details. Furthermore, by avoiding the intermediate format step, there is one less process that may provide bugs in the production of a GUI.
In light of the shortcomings of the various currently available systems, there is still a need for a quick and simple method of creating a GUI in a manner. In particular, there is an interest in a processing system that allows a designer to easily edit the display of control elements on a GUI.